#include <bits/stdc++.h>
using namespace std;

int n, m, k;    // 行数、列数、查询的行号
int a[1005][1005];  // 数字方阵

int main() {
    freopen("matrix.in", "r", stdin);
    freopen("matrix.out", "w", stdout);
    cin >> n >> m >> k;
    // 读取整个矩阵
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= m; j++) {
            cin >> a[i][j];
        }
    }
    
    int maxn = 0;    // 最长连续非0串长度
    int cnt = 0;    // 当前连续非0串长度
    // 遍历第k行的每个数字
    for (int j = 1; j <= m; j++) {
        if (a[k][j] != 0) {
            cnt++;  // 遇到非0数字，当前长度+1
            if (cnt > maxn) {
                maxn = cnt;  // 更新最大值
            }
        } else {
            cnt = 0;  // 遇到0，重置当前长度
        }
    }
    cout << maxn << endl;
    return 0;
}

/*
4 9 3
9 2 0 0 3 4 2 5 0
4 0 2 3 0 3 2 3 1
3 8 3 2 9 0 7 5 1
1 0 3 1 0 0 6 6 0
------------------
1.读取矩阵的大小和要求查询的行号
2.只关注第k行的数据
3.遍历第k行的每个数字，统计连续非0数字的最大长度
4.遇到0就重置计数器，遇到非0就增加计数器并更新最大值

*/